const globalIp = getApp().globalData.userIp
const defaultAvatarUrl = getApp().globalData.defaultAvatarUrl

Page({
  data: {
    show: false,
    userInfo: '',
    avatar: defaultAvatarUrl,
    trueAvatar: '',
    trueName: '',
    arrayMarry: ['是', '否'],
    arrayRole: ['客户', '员工'],
    indexRole: 0,
    arrayStatus: ['已认证√', '待审核'],
    indexStatus: 1,
    CardName: '',
    Address: '',
    cardPhone: '',
    realName: '',
    lastPage: 999,
    pushMsg: ''
  },
  onLoad(options) {
    wx.hideHomeButton();  // 隐藏返回键
    var loginThis = this;
    wx.showLoading({
      title: '加载中',
      mask: true
    })
    wx.login({
      success(res) {
        if (res.code) {
          wx.request({
            url: globalIp + 'home/getOpenid',
            data: {
              code: res.code
            },
            header: {
              'content-type': 'application/json'
            },
            method: 'POST',
            success: function(res) {
              console.log(res)
              if (res.data.success) {
                let info = res.data.userJson;
                wx.setStorageSync('userInfo', info) // 缓存userInfo
                // console.log(wx.getStorageSync('userInfo'))
                loginThis.setData({
                  userInfo: info,

                  indexRole: info.role=='U'?0:1,
                  indexStatus: info.LineStatus=='Y'?0:1,
                  CardName: info.userName,
                  Address: info.Address?info.Address:info.AddressST,
                  cardPhone: info.Phone1?info.Phone1:info.PhoneST,
                  lastPage: options.lastPage,
                  realName: info.trueName,
                  pushMsg: info.PushMsg
                })
              } else {
                wx.showToast({
                  title: res.data.msg,
                })
              }
            },
            fail: function(res) {
              console.log(res)
              wx.showToast({
                title: '获取信息失败，请重新进入小程序',
                icon: 'none',
                duration: 2000
              })
            },
            complete: function(res) {
              wx.hideLoading()
            }
          })
        } else {
          console.log(res)
          wx.showToast({
            title: '获取信息失败，请重新进入小程序',
            icon: 'none',
            duration: 2000
          })
        }
      }
    })
  },

  editClick() {
    this.setData({
      show: true
    })
  },
  // 添加兴趣爱好【注意：itemList最长6】
  // addHobbyClick() {
  //   var that = this;
  //   var list = ['自定义', '打篮球', '打羽毛球', '游泳', '爬山', '踢足球'];
  //   var attr = this.data.labelList;
  //   wx.showActionSheet({
  //     itemList: list,
  //     success(res) {
  //       if (res.tapIndex == 0) {
  //         that.setData({
  //           show: true,
  //           hobby: true
  //         })
  //       } else {
  //         that.setData({
  //           labelList: attr.concat(list[res.tapIndex])
  //         })
  //       }
  //     }
  //   })
  // },
  // 添加证件照头像、证书【type为0则为上传证件照头像，反之为证书图片】
  // selectImage(e) {
  //   var that = this;
  //   var type = e.currentTarget.dataset.tag;
  //   var attr = this.data.attrImg;
  //   wx.chooseMedia({
  //     count: type == '0' ? 1 : 6,
  //     mediaType: ['image'],
  //     sourceType: ['album', 'camera'],
  //     maxDuration: 30,
  //     camera: 'back',
  //     success(res) {
  //       if (type == '0') {
  //         that.setData({
  //           'tempList.avatarTemp': res.tempFiles[0].tempFilePath
  //         })
  //       } else {
  //         var str = [];
  //         var list = res.tempFiles;
  //         for (var i = 0; i < list.length; i++) {
  //           str.push(list[i].tempFilePath);
  //         }
  //         that.setData({
  //           attrImg: attr.concat(str)
  //         })
  //       }
  //     }
  //   })
  // },
  // 长安删除图片
  // longtapDeleteImg(e) {
  //   let that = this;
  //   let tag = e.currentTarget.dataset.index;
  //   wx.showModal({
  //     title: '提示',
  //     content: '确定删除该图片吗？',
  //     complete: (res) => {
  //       if (res.confirm) {
  //         var list = that.data.attrImg;
  //         list.splice(tag, 1);
  //         that.setData({
  //           attrImg: list
  //         })
  //       }
  //     }
  //   })
  // },
  // 图片查看
  // previewClick(e) {
  //   let path = e.currentTarget.dataset.url;
  //   wx.previewImage({
  //     current: path, // 当前显示图片的http链接
  //     urls: this.data.attrImg // 需要预览的图片http链接列表
  //   })
  // },
  // 兴趣爱好输入监听
  // inputHobbyClick(e) {
  //   this.setData({
  //     hobbyVal: e.detail.value
  //   })
  // },

  // 长按删除兴趣爱好标签
  // longtapDeleteLabel(e) {
  //   let that = this;
  //   let tag = e.currentTarget.dataset.index;
  //   wx.showModal({
  //     title: '提示',
  //     content: '确定删除该爱好标签吗？',
  //     complete: (res) => {
  //       if (res.confirm) {
  //         var list = that.data.labelList;
  //         list.splice(tag, 1);
  //         that.setData({
  //           labelList: list
  //         })
  //       }
  //     }
  //   })
  // },

  bindInputChange: function(e) {
    this.setData({
      trueName: e.detail.value,
    })
  },
  realChange: function(e) {
    this.setData({
      realName: e.detail.value,
    })
  },
  // 取消监听
  cancelMask() {
    this.setData({
      show: false,
      trueAvatar: ''
    })
  },
  // 确定监听
  defineMask() {
    this.setData({
      show: false
    })
  },
  // 跳过
  skip(e) {
    console.log("abc");
    this.clickSubscribeMessage();
    /*
    var pages = getCurrentPages(); // 获取当前页
    var prePage = pages[pages.length - 2]; // 获取上一页
    prePage.onLoad() // 调用上一页onLoad刷新数据 
    wx.navigateBack({
      delta: 1  // 返回页数：1
    })
    */
    if (wx.getStorageSync('userInfo').LineStatus != 'Y') {
      wx.request({
        url: globalIp + 'home/updateUser',
        data: {
          openId: wx.getStorageSync('userInfo').openid,
          cardName: '选择跳过按钮',
        },
        header: {
          'content-type': 'application/json'
        },
        method: 'POST',
        success: function(res) {
          if (res.data.success) {
            setTimeout(() => {
              wx.switchTab({
                url: '/pages/home/home',
              })
            }, 500)
          } else {
            wx.showToast({
              title: res.data.msg,
              icon: 'none',
              duration: 2000
            })
          }
        },
        fail: function(res) {
          wx.showToast({
            title: '系统有误，请重新提交！',
            icon: 'none',
            duration: 2000
          })
        }
      })
    } else {
      wx.switchTab({
        url: '/pages/home/home',
      })
    }
  },
  // 提交
  formSubmit(e) {
    let that = this;
    // this.clickSubscribeMessage();
    let params = e.detail.value;
    if (params.CardName == "" || this.data.realName == "") {
      wx.showToast({
        title: "请填写带*号必填项以便审核~",
        icon: "none",
      });
      return false;
    }
    params.realName = this.data.realName;
    params.headimg = this.data.trueAvatar;
    params.WxName = this.data.trueName;
    params.openId = wx.getStorageSync('userInfo').openid;
    console.log('获取提交的参数信息', params)
    wx.request({
      url: globalIp + 'home/updateUser',
      data: {
        headimgurl: params.headimg,
        wxName: params.WxName,
        openId: params.openId,
        address: params.Address,
        cardName: params.CardName,
        phone: params.cardPhone,
        realName: params.realName,
        pushMsg: 'Y'
      },
      header: {
        'content-type': 'application/json'
      },
      method: 'POST',
      success: function(res) {
        if (res.data.success) {
          if (that.data.pushMsg == 'Y') {
            wx.showToast({
              title: '完善信息成功！',
              icon: 'success',
              success: function(res) {
                setTimeout(() => {
                  wx.switchTab({
                    url: '/pages/home/home',
                  })
                }, 1000)
              }
            })
          } else {
            that.openPopup();
          }
        } else {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
            duration: 2000
          })
        }
      },
      fail: function(res) {
        wx.showToast({
          title: '系统有误，请重新提交！',
          icon: 'none',
          duration: 2000
        })
      }
    })
  },
  onChooseAvatar(e) {
    let that = this;
    const {
      avatarUrl
    } = e.detail
    this.setData({
      avatarUrl,
    })
    console.log(avatarUrl)
    //  将头像上传到服务器
    wx.uploadFile({
      url: globalIp + 'home/pic/upload', //服务器端接收图片的路径
      filePath: avatarUrl,
      name: 'avatarImg',
      header: {'content-type': 'multipart/form-data'},
      formData: {
        
      },
      success: function (res) {
        console.log(res); //发送成功回调
        that.setData({
          trueAvatar: res.data
        })
      },
      fail: function (res) {
          console.log(res); //发送失败回调，可以在这里了解失败原因
      }
    })
  },
    // 是否设置过授权
    openPopup() {
      var tempId = ['N2d1upqp-_Qr5uhAg5dKezp_t4oHUFxF8U0FqowIflw'] // 用户同意的消息模板id
      wx.requestSubscribeMessage({   // 调起消息订阅界面
        tmplIds: tempId,
        success (res) {
          console.log(res)
          if (res[tempId[0]] === 'accept') {
            // 这里是获取下发权限地方，根据官方文档，可以根据  wx.getSetting() 的 withSubscriptions   这个参数获取用户是否打开订阅消息总开关。后面我们需要获取用户是否同意总是同意消息推送。所以这里要给它设置为true 。
            wx.getSetting({
              withSubscriptions: true,   //  这里设置为true,下面才会返回mainSwitch
              success: function(res){  
                // 调起授权界面弹窗
                if (res.subscriptionsSetting.mainSwitch) {  // 用户打开了订阅消息总开关
                  if (res.subscriptionsSetting.itemSettings != null) {   // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权
                    let moIdState = res.subscriptionsSetting.itemSettings[tempId];  // 用户同意的消息模板id
                    if (moIdState === 'accept'){   
                      console.log("用户选择了“保持以上选择”")
                    }
                  }
                } else {
                  console.log('订阅消息未开启')
                }      
              }
            })
          }
          else if (res[tempId[0]] === 'reject') {
            console.log('用户拒绝推送')
          }
          wx.showToast({
            title: '完善信息成功！',
            icon: 'success',
            success: function(res) {
              setTimeout(() => {
                wx.switchTab({
                  url: '/pages/home/home',
                })
              }, 1000)
            }
          })
        },
        fail (err){
          if (err.errCode == 20004) {
            console.log('关闭小程序主开关')
          } else {
            console.log('订阅失败')
          }
        }
      })
    },
    //在用户必点的地方，调用订阅消息方法
    clickSubscribeMessage(){
      let flag = wx.getStorageSync('checkPushFlag') || false;
      console.log(flag, "缓存触发结果");
      //订阅消息
      if(flag){
        var tempId = getApp().globalData.workTaskTemplateId;
        wx.requestSubscribeMessage({
          tmplIds: tempId,
          success(res){
            console.log(res);
          }
        })
      }
    }
})
